package com.jic.point.mapper;
import com.jic.point.model.entity.ConfBdMoneyLog;
import com.jic.point.model.entity.ConfPlatformLog;
import com.jic.point.rest.request.SignData;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.List;

public interface ConfPlatformLogMapper {
	/**
	 * CONF_PLATFORM_LOG插入数据
	 * @param confPlatformLog 入参实体类
	 */
	int insert (ConfPlatformLog confPlatformLog);

	/**
	 * CONF_PLATFORM_LOG插入数据
	 * @param confPlatformLog 入参实体类
	 */
	int insertSelective (ConfPlatformLog confPlatformLog);

	/**
	 * CONF_PLATFORM_LOG根据表对象数据修改数据
	 * @param confPlatformLog 入参实体类
	 */
	int updateByPrimaryKey (ConfPlatformLog confPlatformLog);

	/**
	 * CONF_PLATFORM_LOG根据表对象数据修改数据
	 * @param confPlatformLog 入参实体类
	 */
	int updateByPrimaryKeySelective (ConfPlatformLog confPlatformLog);

	/**
	 * CONF_PLATFORM_LOG根据id删除数据
	 * @param confPlatformLog 入参实体类
	 */
	int deleteByPrimaryKey (ConfPlatformLog confPlatformLog);

	/**
	 * CONF_PLATFORM_LOG根据主键查询数据
	 * @param confPlatformLog 入参实体类
	 */
	ConfPlatformLog selectByPrimaryKey (ConfPlatformLog confPlatformLog);

	/**
	 * CONF_PLATFORM_LOG根据主键查询数据
	 * @param confPlatformLog 入参实体类
	 */
	List<ConfPlatformLog> listPageBySelective (ConfPlatformLog confPlatformLog);

	/**
	 * CONF_PLATFORM_LOG查询数据
	 * @param confPlatformLog 入参实体类
	 */
	List<ConfPlatformLog>  selectBySelective (ConfPlatformLog confPlatformLog);

	/**
	 *
	 *
	 * @description: 获取平台流入积分
	 * @return:
	 * @author: fengrui
	 * @time: 2020/11/11 23:40
	 */
    BigDecimal getAsTheIntegral(Date date);

    /**
     *
     *
     * @description:  获取平台划出积分
     * @return: 
     * @author: fengrui
     * @time: 2020/11/11 23:40
     */  
    BigDecimal getlayOff(Date date);

    /**
     *
     *
     * @description: 获取平台结转积分
     * @return:
     * @author: fengrui
     * @time: 2020/11/11 23:43
     */
    BigDecimal getCarryOver(Date date);

	List<ConfPlatformLog> listPageAll(ConfPlatformLog param);

    List<ConfPlatformLog> selectByPrimaryCode(SignData signData);

	List<ConfPlatformLog> selectAddPoint(@Param("date") Date time);


	List<ConfPlatformLog> selectConsumeMoney(@Param("date")Date time);
}
